#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include "tp3.h"
#define tamanho 4

  //ANO
  //verificar parametros... acredito q seja soh preciso a sk ela vai apontar pra
  //lista invertida q aponta pra pk...
  an BuscaSKano(PK *lista,int nsk,int *cont){
    PK *found,*indicador;
    an anoss;
    int i=0,t=FALSE,k=0,nrraux=1,contador=1,inc=0;
    char c,s[tmano+1],buffer[200];
    FILE *listainvertida;
    listainvertida=fopen("listaano.dat","r");
    printf("Entre com o ano da obra (4 numeros) e pressione ENTER para buscar:\n");
    getchar();
    scanf("%c",&c);
    while(t==FALSE){
      while(c!='\n'){
  /*
   * Verifica�ao caso a entrada possua alguma letra em sua extensao.
   */
        if(isdigit(c)==0){
          printf("O ano deve conter apenas numeros. Digite novamente!\n");
          i=0;
            while(c!='\n'){
              scanf("%c",&c);
            }
          }
        else{
          s[i]=c;
          i++;
        }
  /*
   * Como o ano possui 4 caracteres exatos, nao pode, entao, haver qualquer
   * entrada com menos ou mais do que 4 caracteres.
   */
        if(i>tmano){
          printf("O ano deve conter somente 4 caracteres. Digite novamente!\n");
          i=0;
          while(c!='\n'){
            scanf("%c",&c);
          }           
        }
        scanf("%c",&c);
      }
      if(i<tmano){
        printf("O ano deve conter somente 4 caracteres. Digite novamente!\n");
        i=0;
        t=FALSE;
        scanf("%c",&c);
      }
      else{
        t=TRUE;
      }
    }
    
    for(k=0;k<4;k++){
     buffer[k]=s[k];
    }
    for(k=4;k<200;k++){
     buffer[k]=' ';
    }
//############# aux possui a palavra inicio da busca
    if(nsk>0){
      found=BSearch(lista,buffer,0,nsk-1);
    }
    else{
      found=NULL;
    }
    if(found == NULL){
      printf("NAO HA OBRAS COM ESSE NOME\n");
      anoss=NULL;
    }
    else{
      fseek(listainvertida,((found->NRR)*204)+200,0);
      fread(&nrraux,1,4,listainvertida);
      while(nrraux!= -1){
        (*cont)++;
        contador++;
        fseek(listainvertida,((nrraux)*204)+200,0);
        fread(&nrraux,1,4,listainvertida);
      }       
      anoss = (an)malloc(sizeof(anos)*contador);
      nrraux=0;
      fseek(listainvertida,((found->NRR)*204),0);
      fread(anoss[inc].ano,1,200,listainvertida);
      //fread(buffer,1,200,listainvertida);
      fseek(listainvertida,((found->NRR)*204)+200,0);
      fread(&nrraux,1,4,listainvertida);
      while(nrraux!=-1){
        inc++;
        fseek(listainvertida,(nrraux)*204,0);
        fread(anoss[inc].ano,1,200,listainvertida);
        //fread(buffer,1,200,listainvertida);
        fseek(listainvertida,((nrraux)*204)+200,0);
        fread(&nrraux,1,4,listainvertida);
      }

    }
    //necessita de um free no titulos...
    fclose(listainvertida);
    return anoss;
  }
